#include "Vertex.h"

namespace lib3dw
{
	Vertex::Vertex()
	{
		position = new Vector3();
		normal = new Vector3();
		texCoord2D = new Vector2();
	}
	
	Vertex::Vertex(float x, float y, float z)
	{
		position = new Vector3(x, y, z);
		normal = new Vector3();
		texCoord2D = new Vector2();
	}
	
	
	Vertex::Vertex(Vector3 pos)
	{
		position = &pos;
	}
	
	void Vertex::SetPosition(float x, float y, float z)
	{
		position->x = x;
		position->y = y;
		position->z = z;
	}
	
	void Vertex::SetNormal(float x, float y, float z)
	{
		normal->x = x;
		normal->y = y;
		normal->z = z;
	}
	
	void Vertex::SetTexCoord2D(float u, float v)
	{
		texCoord2D->x = u;
		texCoord2D->y = v;
	}
	
	const Vector3* Vertex::GetPosition() const
	{
		return position;
	}
	
	const Vector3* Vertex::GetNormal() const
	{
		return normal;
	}
	
	const Vector2* Vertex::GetTexCoord2D() const
	{
		return texCoord2D;
	}
	
	Vertex::~Vertex()
	{
	}
}